package ar.com.tallerdos.smartdinner.sync;

import java.util.List;

import ar.com.tallerdos.smartdinner.business.MesaBusiness;
import ar.com.tallerdos.smartdinner.model.Mesa;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;

public class MesasSincronizador extends Tarea {

    private static final String MESAS_SERVICE = "consultarMesas.php";

    @Override
    public Integer realizarTarea() {
	String mesasJson = llamarWebService(SERVER_URL + "/" + MESAS_SERVICE);

	List<Mesa> mesas = parsearJson(mesasJson);
	if (mesas != null) {
	    for (Mesa mesa : mesas) {
		MesaBusiness.createOrUpdate(mesa);
	    }

	}

	return null;
    }

    private List<Mesa> parsearJson(String mesasJson) {
	mesasJson.replace("pos_x", "posX");
	mesasJson.replace("pos_y", "posY");

	Gson gson = new GsonBuilder().create();

	List<Mesa> mesas = gson.fromJson(mesasJson,
		new TypeToken<List<Mesa>>() {
		}.getType());

	return mesas;
    }

}
